MODULE OHL;

TYPE Node=OBJECT
VAR
	level: INTEGER;
END Node;

TYPE Leaf=OBJECT(Node);
VAR
	nw,ne,sw,se: BOOLEAN;
PROCEDURE&init(a,b,c,d: BOOLEAN);
BEGIN
	level:=1;
	nw:=a; ne:=b; sw:=c;se:=d
END init;

END Leaf;

TYPE Branch=OBJECT(Node);
VAR
	nw,ne,sw,se: Node;
PROCEDURE&init(a,b,c,d:Node);
BEGIN
	nw:=a; ne:=b; sw:=c;se:=d;
	level:=nw.level+1;
END init;
END Branch;

END OHL.